,

Comment mettre en place une station cliente légère ?

NOTE IMPORTANTE : le logiciel dont il est ici question est en pré-version. Vous pourriez donc ne pas en être pleinement satisfait… tant que vous n'aurez pas vous-même participé à son déboguage. Si vous recherchez une solution plus stable, reportez-vous au site du Linux Terminal Server Project, ou au tutoriel LTSP.

Qu'est qu'une station cliente légère ?

D'un point de vue utilisateur, une station cliente ressemble à un ordinateur de bureau banal. Pour l'administrateur en revanche, une station cliente est synonyme de machine dépourvue de capacité de stockage, facile à gérer, et pouvant offrir à l'utilisateur un certain confort informatique même avec du matériel ancien.

Comment fonctionne une station cliente ?

Réponse basique

Les stations clientes se contentent de charger en mémoire un système d'exploitation réduit et de se connecter ensuite à un serveur. Les applications s'exécutent sur le serveur mais s'affichent sur l'écran de la station cliente.

Réponse technique

Séquence de démarrage (d'un point de vue station cliente): la station cliente peut soit disposer d'un noyau sur un média de stockage local, soit le charger depuis le serveur au travers du réseau (en utilisant les instructions appropriés, il est possible de charger le noyau linux depuis un serveur au travers d'une carte réseau de démarrage. Ainsi, la station cliente n'a plus besoin de stocker quoi que ce soit, si ce n'est sur la mémoire morte de la carte réseau.)

La carte réseau PXE lance une requête DHCP sur le réseau local. Le serveur DHCP répond en indiquant à la carte où se trouve le noyau linux. Le noyau est alors chargé au travers du réseau via le protocole TFTP.

Une fois le noyau chargé, il est exécuté, et la machine démarre sous linux. initramfs est chargé avec le noyau linux et il est monté comme système de fichiers root. Ceci procure automatiquement les pilotes nécessaires pour la carte réseau, la souris, le clavier, etc… Une fois le pilote de carte réseau chargé en mémoire, une seconde requête DHCP fournit aux clients les informations comme l'adresse IP, le masque réseau, la passerelle, le serveur DNS et le point de montage root NFS (Network File System) .

Le noyau linux exécute ubuntu initramfs, qui monte le système de fichiers root partagé du serveur, sur la machine cliente, en lecture seule. La station cliente a donc alors un noyau linux de démarrage, un système de fichiers root, comme un vrai système Linux. A partir de maintenant, quand nous parlerons du système de fichiers de la station client, il s'agira en fait du système de fichiers root du serveur monté en lecture seule. Le système de fichiers root monté par la station cliente est différent du système de fichiers root que le serveur utilise lui-même, mais il est conçu spécialement pour les stations clientes, et il est partagé entre toutes celles connectées au serveur (il est situé dans le répertoire /opt/ltsp/<arch> sur le serveur) . initramfs appelle le programme init, les paramètres du serveur X sont autodéctées et le gestionnaire de connexion ubuntu breezy ltsp, que l'on appelle ldm est exécuté.

- X nuts and bolts -

Une fois connecté, ldm crée un tunnel ssh et démarre une session X sur le serveur avec affichage sur les stations clientes via le tunnel. L'utilisation de ssh procure des avantages : vous n'avez pas à configurer le serveur X sur la station cliente, et aucun transport de données par protocole tcp non sécurisé n'est initialisée, comme cela pouvait l'être auparavant avec ltsp.

Prérequis

Il vous faut avant tout :

Pour commencer

1. Paramètrer le serveur DHCP

1.1. Si vous disposez déjà d'un serveur DHCP avec prise en charge des clients PXE :

filename "/ltsp/pxelinux.0";
option root-path "/opt/ltsp/i386";
sudo apt-get install ltsp-server 

1.2. Si vous souhaitez un serveur DHCP dédié :

sudo apt-get install ltsp-server-standalone 
portmap:    192.168.0.0/24
rpc.mountd: 192.168.0.0/24
rpc.statd:  192.168.0.0/24
in.tftpd:   192.168.0.0/24
sudo invoke-rc.d nfs-kernel-server restart 
sudo invoke-rc.d nfs-common restart
sudo invoke-rc.d portmap restart

2. Construction de l'environnement d'exécution du client léger :

sudo ltsp-build-client